package pe.com.bbva.configuracion.domain;


import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

import pe.com.bbva.mantenimiento.domain.Tabla;
import pe.com.stefanini.core.domain.EntidadBase;

@Entity
@Table(name="TTARGPS_CONFIGURACION", schema="TARGPS")
@NamedQueries({
	@NamedQuery(name="obtieneConfById", query = " select o from Configuracion o where o.id = ?"),	
	@NamedQuery(name="obtieneConfAll", query = " select o from Configuracion o ")
})
public class Configuracion extends EntidadBase{
	private static final long serialVersionUID = -6779119317243363830L;
	private Long id;
	private String nombreConfiguracion;
	private Long intervalo;
	private String tipoTiempo;
	private Long diaEjecucion;
	private String rangoDiasMensual;//RANGO_DIAS_MENSUAL
	private Tabla mesEjecucion;
	private Tabla diasLabNoLab;
	private Tabla frecuenciaCarga;
	private Boolean diaLunes;
	private Boolean diaMartes;
	private Boolean diaMiercoles;
	private Boolean diaJueves;
	private Boolean diaViernes;
	private Boolean diaSabado;
	private Boolean diaDomingo;
	private String horaGPS;
	
	@Id
	@Column(name="NID_CONFIGURACION")
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Column(name="DIA_LUNES")
	public Boolean getDiaLunes() {
		return diaLunes;
	}

	public void setDiaLunes(Boolean diaLunes) {
		this.diaLunes = diaLunes;
	}
	@Column(name="DIA_MARTES")
	public Boolean getDiaMartes() {
		return diaMartes;
	}

	public void setDiaMartes(Boolean diaMartes) {
		this.diaMartes = diaMartes;
	}
	@Column(name="DIA_MIERCOLES")
	public Boolean getDiaMiercoles() {
		return diaMiercoles;
	}

	public void setDiaMiercoles(Boolean diaMiercoles) {
		this.diaMiercoles = diaMiercoles;
	}
	@Column(name="DIA_JUEVES")
	public Boolean getDiaJueves() {
		return diaJueves;
	}

	public void setDiaJueves(Boolean diaJueves) {
		this.diaJueves = diaJueves;
	}
	@Column(name="DIA_VIERNES")
	public Boolean getDiaViernes() {
		return diaViernes;
	}

	public void setDiaViernes(Boolean diaViernes) {
		this.diaViernes = diaViernes;
	}
	@Column(name="DIA_SABADO")
	public Boolean getDiaSabado() {
		return diaSabado;
	}

	public void setDiaSabado(Boolean diaSabado) {
		this.diaSabado = diaSabado;
	}
	@Column(name="DIA_DOMINGO")
	public Boolean getDiaDomingo() {
		return diaDomingo;
	}

	public void setDiaDomingo(Boolean diaDomingo) {
		this.diaDomingo = diaDomingo;
	}

	@ManyToOne(fetch=FetchType.EAGER)
	@JoinColumn(name="ID_FRECUENCIA_CARGA")
	public Tabla getFrecuenciaCarga() {
		return frecuenciaCarga;
	}

	public void setFrecuenciaCarga(Tabla frecuenciaCarga) {
		this.frecuenciaCarga = frecuenciaCarga;
	}
	

	@ManyToOne(fetch=FetchType.EAGER)
	@JoinColumn(name="ID_DIASLABNOLABTOD")
	public Tabla getDiasLabNoLab() {
		return diasLabNoLab;
	}

	public void setDiasLabNoLab(Tabla diasLabNoLab) {
		this.diasLabNoLab = diasLabNoLab;
	}

	@ManyToOne(fetch=FetchType.EAGER)
	@JoinColumn(name="MES_EJECUCION")
	public Tabla getMesEjecucion() {
		return mesEjecucion;
	}

	public void setMesEjecucion(Tabla mesEjecucion) {
		this.mesEjecucion = mesEjecucion;
	}
	
	@Column(name="DIA_EJECUCION")
	public Long getDiaEjecucion() {
		return diaEjecucion;
	}

	public void setDiaEjecucion(Long diaEjecucion) {
		this.diaEjecucion = diaEjecucion;
	}

	@Column(name="RANGO_DIAS_MENSUAL")
	public String getRangoDiasMensual() {
		return rangoDiasMensual;
	}

	public void setRangoDiasMensual(String rangoDiasMensual) {
		this.rangoDiasMensual = rangoDiasMensual;
	}
	
	@Column(name="NOMBRE_CONFIGURACION")
	public String getNombreConfiguracion() {
		return nombreConfiguracion;
	}

	public void setNombreConfiguracion(String nombreConfiguracion) {
		this.nombreConfiguracion = nombreConfiguracion;
	}

	@Column(name="INTERVALO")
	public Long getIntervalo() {
		return intervalo;
	}

	public void setIntervalo(Long intervalo) {
		this.intervalo = intervalo;
	}

	@Column(name="TIPO_TIEMPO")
	public String getTipoTiempo() {
		return tipoTiempo;
	}
	public void setTipoTiempo(String tipoTiempo) {
		this.tipoTiempo = tipoTiempo;
	}

	@Column(name="HORA_GPS")
	public String getHoraGPS() {
		return horaGPS;
	}
	public void setHoraGPS(String horaGPS) {
		this.horaGPS = horaGPS;
	}
}